Ports and adapters architecture